//js库j基础扩展，不调用任何外部库，第一个加载的库文件
//对象大小比较，
Object.prototype.equals = function(x) {
    for (p in this) {
        if (typeof(x[p]) == 'undefined') {
            return false;
        }
    }

    for (p in this) {
        if (this[p]) {
            switch (typeof(this[p])) {
            case 'object':
                if (!this[p].equals(x[p])) {
                    return false
                };
                break;
            case 'function':
                if (typeof(x[p]) == 'undefined' || (p != 'equals' && this[p].toString() != x[p].toString())) {
                    return false;
                };
                break;
            default:
                if (this[p] != x[p]) {
                    return false;
                }
            }
        } else {
            if (x[p]) {
                return false;
            }
        }
    }

    for (p in x) {
        if (typeof(this[p]) == 'undefined') {
            return false;
        }
    }

    return true;
}
